package com.jweb.framework.core.impl;

import java.util.Locale;
import java.util.Map;

import com.jweb.framework.core.Context;
import com.jweb.framework.core.ContextEx;
import com.jweb.framework.core.CoreException;
import com.jweb.framework.core.Processing;
import com.jweb.framework.core.User;
import com.jweb.framework.core.channel.ChannelContext;
import com.jweb.framework.core.service.ServiceRegistry;
/**
 * �ļ���DefaultContextEx.java
 * �޸��ˣ� Thomas
 * �޸����ݣ����� 
 */
public class DefaultContextEx implements ContextEx {
	
	private DefaultContext defaultContext ;
	
	public DefaultContextEx(){
		this.defaultContext = new DefaultContext();
	}
	

	public Context getContext() {
		
		return defaultContext;
	}

	public void setAttribute(String param, Object obj) {
		
		this.defaultContext.setAttribute(param, obj);
	}

	public void setRequestId(String param) { // param="B55B1EC8-FF00-0082-1EDF-1EDF8E4AD983"
		
		this.defaultContext.setRequestId(param);
	}

	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
		
		this.defaultContext.setServiceRegistry(serviceRegistry);
	}

	public void setSessionAttribute(String param, Object obj) {
		
		this.defaultContext.setSessionAttribute(param, obj);
	}

	public void setSessionId(String param) {
		
		this.defaultContext.setSessionId(param);
	}

	public <T> T getAttribute(String param) {
		
		return this.defaultContext.getAttribute(param);
	}

	public Map<String, Object> getAttributes() {
		
		return this.defaultContext.getAttributes();
	}

	public <T> T getData(String str) {
		
		return defaultContext.getData(str);
	}

	public Map<String, Object> getDataMap() {
		
		return this.defaultContext.getDataMap();
	}

	public Map<String, Object> getDataMapDirectly() {
		
		return this.defaultContext.getDataMapDirectly();
	}

	public CoreException getException() {
		
		return defaultContext.getException();
	}

	public Locale getLocale() {
		
		return defaultContext.getLocale();
	}

	public Processing getProcess() {
		
		return this.defaultContext.getProcess();
	}

	public String getProcessId() {
		
		return defaultContext.getProcessId();
	}

	public String getRequestId() {
		
		return this.defaultContext.getRequestId();
	}

	public <S> S getService(Class<S> clazz) {
		
		return this.defaultContext.getService(clazz);
	}

	public <S> S getService(String param) {
		
		return this.defaultContext.getService(param);
	}

	public <T> T getSessionAttribute(String param) {
		
		return this.defaultContext.getSessionAttribute(param);
	}

	public Map<String, Object> getSessionAttributes() {
		
		return this.defaultContext.getSessionAttributes();
	}

	public String getSessionId() {
		
		return this.defaultContext.getSessionId();
	}

	public String getState() {
		
		return this.defaultContext.getState();
	}

	public long getTimestamp() {
		
		return this.defaultContext.getTimestamp();
	}

	public <T> T getVariable(String param) {
		
		return this.defaultContext.getVariable(param);
	}

	public Map<String, Object> getVariables() {
		
		return this.defaultContext.getVariables();
	}

	public void setData(String param, Object obj) {
		
		this.defaultContext.setData(param, obj);
	}

	public void setException(CoreException exception) {
		
		this.defaultContext.setException(exception);
	}

	public void setLocale(Locale locale) {
		
		this.defaultContext.setLocale(locale);
	}

	public void setProcess(Processing processing) {
		
		this.defaultContext.setProcess(processing);
	}

	public void setProcessId(String param) {
		
		defaultContext.setProcessId(param);
	}

	public void setState(String param) {
		
		this.defaultContext.setState(param);
	}

	public void setVariable(String param, Object obj) {
		
		this.defaultContext.setVariable(param, obj);
	}

	public void setVariables(Map<String, Object> map) {
		this.defaultContext.setVariables(map);
		
	}
	
	public void setDataMap(Map<String , Object> map){
		this.defaultContext.setDataMap(map);
	}

	public <T extends User> T getUser() {

		return this.defaultContext.getUser();
	}

	public void setUser(User user) {

		this.defaultContext.setUser(user);
	}


	public void clearContext() {
		
		this.defaultContext.clearContext();
	}
	
	/**update msgType , rspCode , rspMsg 20150711_mayingl*/
	public void setMsgType(String msgType) {
		this.defaultContext.setMsgType(msgType);
	}
	
	public void setRspCode(String rspCode) {
		this.defaultContext.setRspCode(rspCode) ;
	}
	
	public void setRspMsg(String rspMsg) {
		this.defaultContext.setRspMsg(rspMsg) ;
	}
	
	public String getMsgType() {
		return this.defaultContext.getMsgType();
	}
	
	public String getRspCode() {
		return this.defaultContext.getRspCode();
	}
	
	public String getRspMsg() {
		return this.defaultContext.getRspMsg() ;
	}

	public ChannelContext getChannelContext() {
		return this.defaultContext.getChannelContext() ;
	}

	public void setChannelContext(ChannelContext channelContext) {
		this.defaultContext.setChannelContext(channelContext);
	}

	public Object removeData(String key) {
		return this.defaultContext.removeData(key);
	}
	
}
